home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / lib / partman / active_partition / 45basicfilesystems / do_option < prev   
Encoding:
Text File  |  2009-04-19  |  3.5 KB  |  162 lines

  1. #!/bin/sh
  2.  
  3. . /lib/partman/lib/base.sh
  4.  
  5. dev=$2
  6. id=$3
  7. part=$dev/$id
  8.  
  9. cd $dev
  10.  
  11. [ -f $part/method -a -f $part/acting_filesystem ] || exit 0
  12. filesystem=$(cat $part/acting_filesystem)
  13.  
  14. do_fatmountpoint () {
  15.     local noninteractive tpl
  16.     noninteractive=true
  17.     while true; do
  18.         if [ -f "$part/mountpoint" ]; then
  19.             old_mountpoint=$(cat $part/mountpoint)
  20.         else
  21.             old_mountpoint=/
  22.         fi
  23.         case "$filesystem" in
  24.             fat16|fat32|ntfs)
  25.             tpl=partman-basicfilesystems/fat_mountpoint
  26.             ;;
  27.             *)
  28.             tpl=partman-basicfilesystems/mountpoint
  29.             ;;
  30.         esac
  31.         db_set $tpl "$old_mountpoint"
  32.         db_input critical $tpl || $noninteractive
  33.         db_go || return 1
  34.         db_get $tpl
  35.  
  36.         case "$RET" in
  37.             Do?not?mount?it)
  38.                 rm -f $part/mountpoint
  39.             break
  40.             ;;
  41.             Enter?manually)
  42.             if do_mountpoint_manual; then break; fi
  43.             noninteractive="return 1"
  44.             ;;
  45.             *)
  46.             echo $RET >$part/mountpoint
  47.             break
  48.         esac
  49.     done
  50. }
  51.  
  52. do_mountpoint_manual () {
  53.     local noninteractive
  54.     noninteractive=true
  55.     while true; do
  56.         new_mountpoint=''
  57.         while [ ! "$new_mountpoint" ]; do
  58.             if [ -f "$part/mountpoint" ]; then
  59.                 old_mountpoint=$(cat $part/mountpoint)
  60.             else
  61.                 old_mountpoint=/
  62.             fi
  63.             db_set partman-basicfilesystems/mountpoint_manual "$old_mountpoint"
  64.             db_input critical partman-basicfilesystems/mountpoint_manual || \
  65.                 $noninteractive
  66.             db_go || return 1
  67.             db_get partman-basicfilesystems/mountpoint_manual
  68.  
  69.             if expr "$RET" : '/[^ ]*$' >/dev/null; then
  70.                 new_mountpoint=$RET
  71.             else
  72.                 db_input high partman-basicfilesystems/bad_mountpoint || true
  73.                 db_go || true
  74.             fi
  75.         done
  76.         echo $RET >$part/mountpoint
  77.         break
  78.     done
  79. }
  80.  
  81. case $1 in
  82.     mountpoint)
  83.     code=0
  84.     if [ "$filesystem" = fat16 ] || [ "$filesystem" = fat32 ] || [ "$filesystem" = ntfs ]; then
  85.         do_fatmountpoint || code=$?
  86.     else
  87.         select_mountpoint $dev $id || code=$?
  88.     fi
  89.     if [ "$code" -eq 0 ]; then
  90.         update_partition $dev $id
  91.     fi
  92.     ;;
  93.     options)
  94.     select_mountoptions $dev $id
  95.     ;;
  96.     format_swap)
  97.     >$part/format
  98.     update_partition $dev $id
  99.     ;;
  100.     dont_format_swap)
  101.     if [ -f $part/format ]; then
  102.         rm $part/format
  103.         update_partition $dev $id
  104.     fi
  105.     ;;
  106.     label)
  107.     label=''
  108.     if [ -f $part/label ]; then
  109.         label=$(cat $part/label)
  110.     fi
  111.     db_set partman-basicfilesystems/choose_label "$label"
  112.     db_input critical partman-basicfilesystems/choose_label || true
  113.     db_go || exit 1
  114.     db_get partman-basicfilesystems/choose_label
  115.     if [ "$RET" ]; then
  116.         echo "$RET" >$part/label
  117.     else
  118.         rm -f $part/label
  119.     fi
  120.     db_reset partman-basicfilesystems/choose_label
  121.     ;;
  122.     reserved_for_root)
  123.     if [ -f $part/reserved_for_root ]; then
  124.         reserved=$(cat $part/reserved_for_root)
  125.     else
  126.         reserved=5
  127.     fi
  128.     db_set partman-basicfilesystems/specify_reserved "$reserved%"
  129.     db_input critical partman-basicfilesystems/specify_reserved || true
  130.     db_go || exit 1
  131.     db_get partman-basicfilesystems/specify_reserved
  132.     RET=`expr "$RET" : '\([0-9][0-9]\?\)\([,. %].*\)\?$'`
  133.     if [ "$RET" ]; then
  134.         echo "$RET" >$part/reserved_for_root
  135.     else
  136.         rm -f $part/reserved_for_root
  137.     fi
  138.     db_reset partman-basicfilesystems/specify_reserved
  139.     ;;
  140.     usage)
  141.     db_metaget partman-basicfilesystems/text/typical_usage description
  142.     typical_usage="$RET"
  143.     if [ -f $part/usage ]; then
  144.         usage=$(cat $part/usage)
  145.     else
  146.         usage="$typical_usage"
  147.     fi
  148.     db_subst partman-basicfilesystems/specify_usage CHOICES "$typical_usage, news, largefile, largefile4"
  149.     db_set partman-basicfilesystems/specify_usage "$usage"
  150.     db_input critical partman-basicfilesystems/specify_usage || true
  151.     db_go || exit 1
  152.     db_get partman-basicfilesystems/specify_usage
  153.     if [ "$RET" != "$typical_usage" ]; then
  154.         echo "$RET" >$part/usage
  155.     else
  156.         rm -f $part/usage
  157.     fi
  158.     ;;
  159. esac
  160.  
  161. exit 0
  162.